/**
 * JAVACC DEMO 1.0
 */
package com.apache.portal.common.template.method;

import com.apache.uct.common.ToolsUtil;
import freemarker.template.TemplateMethodModel;
import freemarker.template.TemplateModelException;

import java.util.List;

/**
 * description:  获取状态值中文
 *
 * @author 创建时间：2016-9-22
 */
public class WbdInfoStatusMethod implements TemplateMethodModel {

    /**
     * TODO 简单描述该方法的实现功能（可选）.
     *
     * @see freemarker.template.TemplateMethodModel#exec(java.util.List)
     */
    public Object exec(List arguments) throws TemplateModelException {
        if (!ToolsUtil.isEmpty(arguments) && arguments.size() > 1) {
            String str = String.valueOf(arguments.get(0));
            String strType = String.valueOf(arguments.get(1));
            if ("session".equalsIgnoreCase(strType)) {
                return getSessionStatus(str);
            } else if ("item".equalsIgnoreCase(strType)) {
                return getItemStatus(str);
            } else if ("bidMode".equals(strType)) {
                return getItemBidMode(str);
            }
        }
        return "";
    }

    private String getSessionStatus(String status) {
        if ("0".equals(status)) {
            return "未发布";
        } else if ("1".equals(status)) {
            return "审核中";
        } else if ("2".equals(status)) {
            return "已发布";
        } else if ("3".equals(status)) {
            return "暂停中";
        } else if ("4".equals(status)) {
            return "发布未通过";
        } else if ("9".equals(status)) {
            return "已结束";
        } else {
            return "未发布";
        }
    }

    private String getItemStatus(String key) {
        if ("0".equals(key)) {
            return "未发布";
        } else if ("1".equals(key)) {
            return "审核中";
        } else if ("2".equals(key)) {
            return "已发布";
        } else if ("".equals(key)) {
            return "未开始";
        } else if ("B".equals(key)) {
            return "自由报价期";
        } else if ("C".equals(key)) {
            return "限时报价期";
        } else if ("D".equals(key)) {
            return "加价期 ";
        } else if ("E".equals(key)) {
            return "行权期";
        } else if ("Z".equals(key)) {
            return "结果处理中";
        } else if ("3".equals(key)) {
            return "暂停中";
        } else if ("4".equals(key)) {
            return "发布未通过";
        } else if ("5".equals(key)) {
            return "竞价成功";
        } else if ("6".equals(key)) {
            return "竞价失败";
        } else if ("9".equals(key)) {
            return "已结束";
        } else {
            return "未发布";
        }
    }

    private String getItemBidMode(String status) {
        if ("1".equals(status)) {
            return "正向多次竞价";
        } else if ("2".equals(status)) {
            return "反向多次竞价";
        } else if ("3".equals(status)) {
            return "正向一次竞价";
        } else if ("4".equals(status)) {
            return "反向一次竞价";
        } else if ("5".equals(status)) {
            return "正向份额竞价";
        } else if ("6".equals(status)) {
            return "反向份额竞价";
        } else {
            return "荷兰式竞价";
        }
    }

}
